package org.dbutils.dao;

import org.dbutils.entity.Staff;

import java.util.List;

/**
 * 定义针对 Staffs 数据表可能要做的 增、删、改、查 操作 - 服务于业务
 *
 * @author ZQX
 * @date 2025-02-25
 */
public interface StaffDao {
    /**
     * 添加员工
     *
     * @param staff 员工信息
     * @return 受影响的行数
     */
    int insert(Staff staff);

    /**
     * 删除员工
     *
     * @param id 员工编号
     * @return 受影响的行数
     */
    int delete(int id);

    /**
     * 修改员工
     *
     * @param staff 员工信息
     * @return 受影响的行数
     */
    int update(Staff staff);

    /**
     * 分页查询
     *
     * @param currentPage 当前页
     * @param pageSize    每页记录数
     * @return 员工列表
     */
    List<Staff> selectByPage(int currentPage, int pageSize);

    /**
     * 根据编号查询员工
     *
     * @param id 编号
     * @return 员工
     */
    Staff selectById(int id);
}
